Imports System.Windows.Controls
Imports System.Windows.Input
Imports System.Windows

Public Class SimpleXamChart
    Inherits Infragistics.Windows.Chart.XamChart

    Public Property Serie As Infragistics.Windows.Chart.Series
        Get
            SetupDefault()
            Return Me.Series(0)
        End Get
        Set(ByVal value As Infragistics.Windows.Chart.Series)
            SetupDefault()
            Me.Series(0) = value
        End Set
    End Property

    Public Property AxisX As Infragistics.Windows.Chart.Axis
        Get
            SetupDefault()
            Return Me.Axes(0)
        End Get
        Set(ByVal value As Infragistics.Windows.Chart.Axis)
            SetupDefault()
            Me.Axes(0) = value
        End Set
    End Property

    Public Property AxisY As Infragistics.Windows.Chart.Axis
        Get
            SetupDefault()
            Return Me.Axes(1)
        End Get
        Set(ByVal value As Infragistics.Windows.Chart.Axis)
            SetupDefault()
            Me.Axes(1) = value
        End Set
    End Property

    Private Sub SetupDefault()
        If Me.Axes.Count = 0 Then
            Me.Axes.Add(New Infragistics.Windows.Chart.Axis() With {.AxisType = Infragistics.Windows.Chart.AxisType.PrimaryX, .Label = New Infragistics.Windows.Chart.Label()})
            Me.Axes.Add(New Infragistics.Windows.Chart.Axis() With {.AxisType = Infragistics.Windows.Chart.AxisType.PrimaryY, .Label = New Infragistics.Windows.Chart.Label()})
        End If
        If Me.Series.Count = 0 Then
            Me.Series.Add(New Infragistics.Windows.Chart.Series())
        End If
    End Sub
End Class

Partial Public Class XamChartZone
    Inherits DashboardZone

    Dim _Visual As New SimpleXamChart ' Infragistics.Windows.Chart.XamChart()
    Dim _DataProperty As DashboardZoneProperty
    Dim _TextFormatProperty As DashboardZoneProperty
    Dim _DimensionProperty As DashboardZoneProperty

    Private Sub Setup(createnew As Boolean)
        Me._Visual.Scene.DataFilter = True

        If createnew Then
            Me._Visual.Legend = New Infragistics.Windows.Chart.Legend()
            Me._Visual.Legend.Visible = False
            Me._Visual.Series.Add(New Infragistics.Windows.Chart.Series())
            Me._Visual.Series(0).DataPoints.Add(1)
            Me._Visual.Series(0).DataPoints.Add(1.25)
            Me._Visual.Series(0).DataPoints.Add(0.75)
            Me._Visual.Axes.Add(New Infragistics.Windows.Chart.Axis() With {.AxisType = Infragistics.Windows.Chart.AxisType.PrimaryX, .Label = New Infragistics.Windows.Chart.Label()})
            Me._Visual.Axes.Add(New Infragistics.Windows.Chart.Axis() With {.AxisType = Infragistics.Windows.Chart.AxisType.PrimaryY, .Label = New Infragistics.Windows.Chart.Label()})
        End If

        'Me._Visual.Caption = New Infragistics.Windows.Chart.Caption()

        'Me._Visual.Scene.GridArea.RefreshPointsOnly = True
        Me._Visual.Scene.GridArea.RenderingOptions.RenderingMode = Infragistics.Windows.Chart.RenderingMode.Performance
       
        'Me._Visual.Crosshairs = New Infragistics.Windows.Chart.Crosshairs()
        'Me._Visual.Crosshairs.VerticalCrosshair.Visibility = Visibility.Collapsed
        'Me._Visual.Crosshairs.HorizontalCrosshair.Visibility = Visibility.Collapsed
        'Me._Visual.Text = "0%"
        'Me._Visual.HorizontalAlignment = HorizontalAlignment.Center
        'Me._Visual.VerticalAlignment = VerticalAlignment.Center

        Me._DataProperty = New DashboardZoneProperty(Me, "Data", GetType(IEnumerable))
        Me._DataProperty.EnableDimensionOnBinding = True
        Me.Properties.Add(_DataProperty)

        'Me._TextFormatProperty = New DashboardZoneProperty(Me, "TextFormat", GetType(String))
        'Me.Properties.Add(_TextFormatProperty)
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontFamily"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontStyle"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontWeight"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontStretch"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontSize"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Foreground"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Background"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "TextDecorations"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Padding"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "TextAlignment"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "TextTrimming"))
        'Me.Properties.Add(New DashboardZoneProperty(Me, "TextWrapping"))


        Me.Properties.Add(New DashboardZoneProperty(Me, "Margin"))


        'Infragistics.Windows.Chart.SeriesCollection
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Series"))

        'Infragistics.Windows.Chart.AxisCollection
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Axes"))

        'Me._Visual.Caption = New Infragistics.Windows.Chart.Caption()

        'Infragistics.Windows.Chart.Caption
        Me.Properties.Add(New DashboardZoneProperty(Me, "Caption"))

        'Infragistics.Windows.Chart.Scene
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Scene"))

        ' Infragistics.Windows.Chart.Legend()
        Me.Properties.Add(New DashboardZoneProperty(Me, "Legend"))

        'System.Boolean()
        Me.Properties.Add(New DashboardZoneProperty(Me, "View3D"))

        'System.Windows.Media.Brush
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Scene, "Perspective", "", "Perspective 3D"))

        'System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, "RefreshEnabled"))

        'Infragistics.Windows.Chart.LightCollection
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Lights"))

        'System.Windows.Media.Brush
        Me.Properties.Add(New DashboardZoneProperty(Me, "StartPaletteBrush"))

        'System.Windows.Media.Brush
        Me.Properties.Add(New DashboardZoneProperty(Me, "EndPaletteBrush"))

        'Infragistics.Windows.Chart.Crosshairs()
        Me.Properties.Add(New DashboardZoneProperty(Me, "Crosshairs"))

        'System.String
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Theme"))

        'System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, "DrawException"))

        'System.Windows.Media.Brush
        'Me.Properties.Add(New DashboardZoneProperty(Me, "BorderBrush"))

        'System.Windows.Thickness
        'Me.Properties.Add(New DashboardZoneProperty(Me, "BorderThickness"))

        'System.Windows.Media.Brush
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Scene.GridArea, "Background", ""))

        ''System.Windows.Media.Brush
        'Me.Properties.Add(New DashboardZoneProperty(Me, "Foreground"))

        ''System.Windows.Media.FontFamily
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontFamily"))

        ''System.Double
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontSize"))

        ''System.Windows.FontStretch
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontStretch"))

        ''System.Windows.FontStyle
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontStyle"))

        ''System.Windows.FontWeight
        'Me.Properties.Add(New DashboardZoneProperty(Me, "FontWeight"))

        ''''''''''''''Series'''''''''''''''''''''''''''''''''''''

        ''Infragistics.Windows.Chart.DataPointCollection
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "DataPoints", "Series"))

        ''Infragistics.Windows.Chart.ChartParameterCollection
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "ChartParameters", "Series"))

        ''System.Object
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "ExtraParameters", "Series"))

        'Infragistics.Windows.Chart.ChartType
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "ChartType", "Series"))

        'Infragistics.Windows.Chart.DataPointColor
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "DataPointColor", "Series"))

        'System.String
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "DataMapping", "Series"))

        'System.Object
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "DataSource", "Series"))

        'System.Windows.Media.Brush
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Fill", "Series"))

        'System.Windows.Media.Brush
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Stroke", "Series"))

        'System.Double
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "StrokeThickness", "Series"))

        'Infragistics.Windows.Chart.Animation
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Animation", "Series"))

        'System.String
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Label", "Series"))

        'Infragistics.Windows.Chart.Marker
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Marker", "Series"))

        ''System.String
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "AxisX", "Series"))

        ''System.String
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "AxisY", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "UseDataTemplate", "Series"))

        ''System.Object
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "ToolTip", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "AllowDrop", "Series"))

        ''System.Windows.Controls.ContextMenu
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "ContextMenu", "Series"))

        ''System.Object
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Tag", "Series"))

        ''System.Windows.ResourceDictionary
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Resources", "Series"))

        ''System.Object
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "DataContext", "Series"))

        ''System.Windows.Input.InputScope
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "InputScope", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsEnabled", "Series"))

        ''System.Windows.Markup.XmlLanguage
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Language", "Series"))

        ''System.Windows.Input.CommandBindingCollection
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "CommandBindings", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "OverridesDefaultStyle", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "ForceCursor", "Series"))

        ''System.Windows.Style
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "FocusVisualStyle", "Series"))

        ''System.Windows.Input.Cursor
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Cursor", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Focusable", "Series"))

        ''System.Windows.Style
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Style", "Series"))

        ''System.Windows.DependencyObject
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "TemplatedParent", "Series"))

        ''System.String
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Name", "Series"))

        ''System.Windows.Data.BindingGroup
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "BindingGroup", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsInitialized", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsLoaded", "Series"))

        ''System.Windows.DependencyObject
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Parent", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsMouseDirectlyOver", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsMouseOver", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsStylusOver", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsKeyboardFocusWithin", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsMouseCaptured", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsMouseCaptureWithin", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsStylusDirectlyOver", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsStylusCaptured", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsStylusCaptureWithin", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsKeyboardFocused", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsFocused", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsInputMethodEnabled", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "AreAnyTouchesOver", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "AreAnyTouchesDirectlyOver", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "AreAnyTouchesCapturedWithin", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "AreAnyTouchesCaptured", "Series"))

        ''System.Collections.Generic.IEnumerable`1[System.Windows.Input.TouchDevice]
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "TouchesCaptured", "Series"))

        ''System.Collections.Generic.IEnumerable`1[System.Windows.Input.TouchDevice]
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "TouchesCapturedWithin", "Series"))

        ''System.Collections.Generic.IEnumerable`1[System.Windows.Input.TouchDevice]
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "TouchesOver", "Series"))

        ''System.Collections.Generic.IEnumerable`1[System.Windows.Input.TouchDevice]
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "TouchesDirectlyOver", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "HasAnimatedProperties", "Series"))

        ''System.Windows.Input.InputBindingCollection
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "InputBindings", "Series"))

        ''System.Windows.DependencyObjectType
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "DependencyObjectType", "Series"))

        ''System.Boolean
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "IsSealed", "Series"))

        ''System.Windows.Threading.Dispatcher
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Series(0), "Dispatcher", "Series"))

        '''' Axe X

        'Infragistics.Windows.Chart.AxisType
        'Infragistics.Windows.Chart.Axis
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "AxisType", "Axe X"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Maximum", "Axe X"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Minimum", "Axe X"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Unit", "Axe X"))


        'System.Boolean
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "AutoRange", "Axe X"))


        'System.Boolean
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "RangeFromZero", "Axe X"))


        'System.Boolean
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Logarithmic", "Axe X"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "LogarithmicBase", "Axe X"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Crossing", "Axe X"))


        'System.Windows.Media.Brush
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Stroke", "Axe X"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "StrokeThickness", "Axe X"))


        'Infragistics.Windows.Chart.Animation
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Animation", "Axe X"))


        'Infragistics.Windows.Chart.Mark
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "MajorGridline", "Axe X"))


        'Infragistics.Windows.Chart.Mark
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "MinorGridline", "Axe X"))


        'Infragistics.Windows.Chart.Mark
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "MajorTickMark", "Axe X"))


        'Infragistics.Windows.Chart.Mark
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "MinorTickMark", "Axe X"))


        'Infragistics.Windows.Chart.StripeCollection
        'Infragistics.Windows.Chart.Axis
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Stripes", "Axe X"))


        'Infragistics.Windows.Chart.Label
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Label", "Axe X"))


        ''System.Boolean
        ''Infragistics.Windows.Chart.Axis
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0), "Visible", "Axe X"))

        ''System.Windows.Media.FontFamily
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "FontFamily", "Axe X", "Label FontFamily"))


        ''System.Double
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "FontSize", "Axe X", "Label FontSize"))


        ''System.Double
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "Angle", "Axe X", "Label Angle"))


        ''System.Windows.FontStyle
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "FontStyle", "Axe X", "Label FontStyle"))


        ''System.Windows.FontWeight
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "FontWeight", "Axe X", "Label FontWeight"))


        ''System.Windows.FontStretch
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "FontStretch", "Axe X", "Label FontStretch"))


        ''System.Windows.Media.Brush
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "Foreground", "Axe X", "Label Foreground"))


        'System.String
        'Infragistics.Windows.Chart.Label
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "Format", "Axe X", "Label Format") With {.EditorTemplate = "StringFormatCellEditingTemplate"})


        ''System.Boolean
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "AutoResize", "Axe X", "Label AutoResize"))


        ''System.Double
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "DistanceFromAxis", "Axe X", "Label DistanceFromAxis"))


        ''System.Boolean
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(0).Label, "Visible", "Axe X", "Label Visible"))

        '''' Axe Y


        'Infragistics.Windows.Chart.AxisType
        'Infragistics.Windows.Chart.Axis
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "AxisType", "Axe Y"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Maximum", "Axe Y"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Minimum", "Axe Y"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Unit", "Axe Y"))


        'System.Boolean
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "AutoRange", "Axe Y"))


        'System.Boolean
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "RangeFromZero", "Axe Y"))


        'System.Boolean
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Logarithmic", "Axe Y"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "LogarithmicBase", "Axe Y"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Crossing", "Axe Y"))


        'System.Windows.Media.Brush
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Stroke", "Axe Y"))


        'System.Double
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "StrokeThickness", "Axe Y"))


        'Infragistics.Windows.Chart.Animation
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Animation", "Axe Y"))


        'Infragistics.Windows.Chart.Mark
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "MajorGridline", "Axe Y"))


        'Infragistics.Windows.Chart.Mark
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "MinorGridline", "Axe Y"))


        'Infragistics.Windows.Chart.Mark
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "MajorTickMark", "Axe Y"))


        'Infragistics.Windows.Chart.Mark
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "MinorTickMark", "Axe Y"))


        'Infragistics.Windows.Chart.StripeCollection
        'Infragistics.Windows.Chart.Axis
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Stripes", "Axe Y"))


        'Infragistics.Windows.Chart.Label
        'Infragistics.Windows.Chart.Axis
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Label", "Axe Y"))


        ''System.Boolean
        ''Infragistics.Windows.Chart.Axis
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1), "Visible", "Axe Y"))

        ''System.Windows.Media.FontFamily
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "FontFamily", "Axe Y", "Label FontFamily"))


        ''System.Double
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "FontSize", "Axe Y", "Label FontSize"))


        ''System.Double
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "Angle", "Axe Y", "Label Angle"))


        ''System.Windows.FontStyle
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "FontStyle", "Axe Y", "Label FontStyle"))


        ''System.Windows.FontWeight
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "FontWeight", "Axe Y", "Label FontWeight"))


        ''System.Windows.FontStretch
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "FontStretch", "Axe Y", "Label FontStretch"))


        ''System.Windows.Media.Brush
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "Foreground", "Axe Y", "Label Foreground"))


        'System.String
        'Infragistics.Windows.Chart.Label
        Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "Format", "Axe Y", "Label Format") With {.EditorTemplate = "StringFormatCellEditingTemplate"})


        ''System.Boolean
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "AutoResize", "Axe Y", "Label AutoResize"))


        ''System.Double
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "DistanceFromAxis", "Axe Y", "Label DistanceFromAxis"))


        ''System.Boolean
        ''Infragistics.Windows.Chart.Label
        'Me.Properties.Add(New DashboardZoneProperty(Me, Me._Visual.Axes(1).Label, "Visible", "Axe Y", "Label Visible"))
    End Sub
    Sub New()

        Setup(True)


    End Sub

    Public Overrides ReadOnly Property DataProperty As DashboardZoneProperty
        Get
            Return _DataProperty
        End Get
    End Property

    Public Overrides ReadOnly Property Visual As UIElement
        Get
            Return _Visual
        End Get
    End Property


    Protected Friend Overrides Sub OnValueChanged(ByVal [Property] As DashboardZoneProperty)
        If [Property] Is _DataProperty Then
            Dim v = TryCast(_DataProperty.Value, DataView)
            If v IsNot Nothing Then
                If _DataProperty.DataBinding IsNot Nothing Then
                    Me._Visual.Series(0).DataSource = _DataProperty.Value
                    Me._Visual.Series(0).DataMapping = "Label=Member;Value=" & "_" & _DataProperty.DataBinding.Aggregate & "_" & _DataProperty.DataBinding.DataMember.Name
                End If
            End If
        End If
    End Sub



    Protected Friend Overrides Sub OnDeserializeVisual(ByVal visual As System.Windows.UIElement)
        MyBase.OnDeserializeVisual(visual)
        Me._Visual = visual
        Me.Properties.Clear()
        Me.Setup(False)
    End Sub
End Class